Answer:

Recall that for maximum accuracy, the loop control variable should be an integer type. So the modified loop should look like this:

tenths = 0 ;
while (  tenths <= limit*10 )    
{
  double t = tenths/10.0 ;        // be sure to include "point zero"
  distance = (G * t * t)/2 ;
  System.out.println( t + "\t" + distance );

  tenths = tenths + 1 ;
}

It is best to leave the formula as it was in the previous program, and to handle the calculation of t from tenths in an extra statement. (Sometimes people try to skip the extra statement by modifying the formula, but this saves little or no computer time, and costs possible confusion and error.)

Rows of Stars

Say that you want a program that writes out five rows of stars, such as the following:

*******
*******
*******
*******
*******

This could be done with a while loop that iterates five times. Each iteration could execute System.out.println("*******"). But it is nicer if the user can ask for how many lines to print, and how many stars to print in each line:

Lines? 3
Stars per line? 13

*************
*************
*************

This is hard, since the user might ask for any number of stars per line, and no single println can do that.

QUESTION 17:

Can a counting loop, such as we have been using, be used to count up to the number of lines that the user requested?